package principal.controller;

import java.util.ArrayList;

import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;

import principal.model.ArticuloComponente;
import principal.model.vos.Articulo;
import principal.model.vos.Kit;

import principal.view.gui.*;
import principal.view.gui.TreeKits;
import principal.view.gui.VentaContainer;
import principal.view.gui.altaComponente.AltaContainer;

public class CTreeKits {
	
	TreeKits tree;
	
	public CTreeKits(TreeKits treeKits){
		tree = treeKits;
		
		tree.listenerTreeSelection(new TreeSelectionListener() {
			
		//	@ Override
			public void valueChanged(TreeSelectionEvent e) {
				// TODO Auto-generated method stub								
				
				DatosKit dk = tree.getKitMain().getDatosKit();
				JTable tabla =  dk.getTablaDatos();
				DefaultTableModel modeloTabla = (DefaultTableModel)tabla.getModel();
				
				
				String NOMBRE = "Nombre";
				String DESC = "Descripcion";
				String PRECIO = "Precio";
				String TEMP = "Temporada";				
				
				//Borra las filas
				modeloTabla.setRowCount(0);							    		   			    
			    
			    TreePath path = e.getPath();
			    try{
			    	
			    
			    	Object parent = path.getParentPath().getLastPathComponent();					    
			    	Object nodoPadre;
			   
					//Si le dan click  al padre (sin importar si esta desplegado o no )
					if (parent.toString().equals( "KITS")){
				    	
						Object obj =  path.getLastPathComponent();
						nodoPadre = ((DefaultMutableTreeNode)obj).getUserObject();
				    }
					//Si le dan click a un hijo.
					else{
						nodoPadre = ((DefaultMutableTreeNode)parent).getUserObject();
					}
					
					Kit kitObj = (Kit)nodoPadre;
	
					//Roos2
					ArrayList arts = kitObj.getChildren();
	//				ArrayList<ArticuloComponente> arts = kitObj.getChildren();
					
					JTextArea jtDesc = dk.getJtDesc();
					JTextField jfNombre = dk.getJfNombre();				
					JTextField jfIdKit = dk.getJfIdKit();
					JTextField jfPrecio= dk.getJfPrecio();
					JTextField jfTemporada = dk.getJfTemporada();
					
					
					jtDesc.setText(kitObj.getDescripcion());
					jfNombre.setText(kitObj.getNombre());
					jfIdKit.setText(kitObj.getId());
					jfPrecio.setText(""+kitObj.getPrecio() );
					jfTemporada.setText(kitObj.getTemporada());
					
	
					for(int i=0; i<arts.size(); i++){
						
	//					Roos2
	//					Articulo art = (Articulo) artKit;
						Articulo art = (Articulo)arts.get(i);
						
						modeloTabla.addRow(new Object[]{art.getNombre(),art.getDescripcion(),new Double(art.getPrecio())});				
					}
					//Roos For de arriba
	//				for(ArticuloComponente artKit: arts){
	//					Articulo art = (Articulo) artKit;
	//					modeloTabla.addRow(new Object[]{art.getNombre(),art.getDescripcion(),art.getPrecio()});				
	//				}
			}catch(Exception ee){}
			}
			 
		}
		
		);
	}

}
